package br.com.dex.dexfitness.services;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.widget.ListView;
import android.widget.Toast;
import br.com.dex.dexfitness.App;
import br.com.dex.dexfitness.R;
import br.com.dex.dexfitness.adapters.AlunosListAdapter;
import br.com.dex.dexfitness.models.Pessoa;
import br.com.digitalexpert.utils.Utils;

import com.microsoft.windowsazure.mobileservices.MobileServiceTable;
import com.microsoft.windowsazure.mobileservices.ServiceFilterResponse;
import com.microsoft.windowsazure.mobileservices.TableOperationCallback;
import com.microsoft.windowsazure.mobileservices.TableQueryCallback;

public class AzurePessoa {
	
	private static Context context;
	private static Azure azure;
	private static MobileServiceTable<Pessoa> mTable;

	private static ListView listViewPessoas;
	private static ArrayList<Pessoa> listPessoas;
	
	public AzurePessoa(Context ctx){
		context = ctx;
		azure = new App(context).getAzureService();
		mTable = azure.getAzureClient().getTable(Pessoa.class);
	}
	
	public static void adicionar(Pessoa pessoa){
		
		mTable.insert(pessoa, new TableOperationCallback<Pessoa>() {
			
			@Override
			public void onCompleted(Pessoa pessoa, Exception exception,
					ServiceFilterResponse response) {
				Toast.makeText(context, "Pessoa Adicionada com sucesso.", Toast.LENGTH_SHORT).show();
			}
		});
		
	}
	
	public static void obterPessoas(){
		
		mTable.execute(new TableQueryCallback<Pessoa>() {
			
			@Override
			public void onCompleted(List<Pessoa> result, int count, Exception exception,
					ServiceFilterResponse response) {
				
				listPessoas = new ArrayList<Pessoa>();
				
				for(Pessoa p : result){
					listPessoas.add(new Pessoa(p.getNome(),Utils.getShortDate(p.getDataCadastro())));
				}
				
				Activity activity = (Activity) ((Activity)context);
				
				listViewPessoas = (ListView)activity.findViewById(R.id.listAlunos);
				listViewPessoas.setAdapter(new AlunosListAdapter(context,listPessoas));
				
			}
			
		});
		
	}

}
